from .nodes import *

NODE_CLASS_MAPPINGS = {
    "AIHubWorkflowController": AIHubWorkflowController,

    "AIHubExposeInteger": AIHubExposeInteger,
    "AIHubExposeFloat": AIHubExposeFloat,
    "AIHubExposeBoolean": AIHubExposeBoolean,
    "AIHubExposeString": AIHubExposeString,
    "AIHubExposeStringSelection": AIHubExposeStringSelection,
    "AIHubExposeSeed": AIHubExposeSeed,
    "AIHubExposeImage": AIHubExposeImage,
    "AIHubExposeImageInfoOnly": AIHubExposeImageInfoOnly,
    "AIHubExposeImageBatch": AIHubExposeImageBatch,
    "AIHubExposeScheduler": AIHubExposeScheduler,
    "AIHubExposeExtendableScheduler": AIHubExposeExtendableScheduler,
    "AIHubExposeSampler": AIHubExposeSampler,
    "AIHubExposeCfg": AIHubExposeCfg,
    "AIHubExposeSteps": AIHubExposeSteps,
    "AIHubExposeModel": AIHubExposeModel,
    "AIHubExposeModelSimple": AIHubExposeModelSimple,
    "AIHubExposeAudio": AIHubExposeAudio,
    "AIHubExposeVideo": AIHubExposeVideo,
    "AIHubExposeProjectAudio": AIHubExposeProjectAudio,
    "AIHubExposeProjectVideo": AIHubExposeProjectVideo,
    "AIHubExposeProjectImage": AIHubExposeProjectImage,
    "AIHubExposeProjectText": AIHubExposeProjectText,
    "AIHubExposeProjectImageBatch": AIHubExposeProjectImageBatch,
    "AIHubExposeProjectLatent": AIHubExposeProjectLatent,

    "AIHubExposeProjectConfigInteger": AIHubExposeProjectConfigInteger,
    "AIHubExposeProjectConfigFloat": AIHubExposeProjectConfigFloat,
    "AIHubExposeProjectConfigBoolean": AIHubExposeProjectConfigBoolean,
    "AIHubExposeProjectConfigString": AIHubExposeProjectConfigString,

    "AIHubActionSetProjectConfigInteger": AIHubActionSetProjectConfigInteger,
    "AIHubActionSetProjectConfigFloat": AIHubActionSetProjectConfigFloat,
    "AIHubActionSetProjectConfigBoolean": AIHubActionSetProjectConfigBoolean,
    "AIHubActionSetProjectConfigString": AIHubActionSetProjectConfigString,

    "AIHubActionNewImage": AIHubActionNewImage,
    "AIHubActionNewLayer": AIHubActionNewLayer,
    "AIHubActionNewLatent": AIHubActionNewLatent,
    "AIHubActionNewVideo": AIHubActionNewVideo,
    "AIHubActionNewVideoSegment": AIHubActionNewVideoSegment,
    "AIHubActionNewAudio": AIHubActionNewAudio,
    "AIHubActionNewAudioSegment": AIHubActionNewAudioSegment,
    "AIHubActionNewText": AIHubActionNewText,
    "AIHubActionNewImageBatch": AIHubActionNewImageBatch,

    "AIHubUtilsCropMergedImageToLayerSize": AIHubUtilsCropMergedImageToLayerSize,
    "AIHubUtilsFitLayerToMergedImage": AIHubUtilsFitLayerToMergedImage,
    "AIHubUtilsFloatToInt": AIHubUtilsFloatToInt,
    "AIHubUtilsStrToFloat": AIHubUtilsStrToFloat,
    "AIHubUtilsLoadVAE": AIHubUtilsLoadVAE,
    "AIHubUtilsLoadLora": AIHubUtilsLoadLora,
    "AIHubUtilsLoadModel": AIHubUtilsLoadModel,
    "AIHubUtilsLoadCLIP": AIHubUtilsLoadCLIP,
    "AIHubUtilsStrToVector": AIHubUtilsStrToVector,
}

NODE_DISPLAY_NAME_MAPPINGS = {
    "AIHubWorkflowController": "AIHub Workflow Controller",

    "AIHubExposeInteger": "AIHub Expose Integer",
    "AIHubExposeFloat": "AIHub Expose Float",
    "AIHubExposeBoolean": "AIHub Expose Boolean",
    "AIHubExposeString": "AIHub Expose String",
    "AIHubExposeStringSelection": "AIHub Expose String Selection",
    "AIHubExposeSeed": "AIHub Expose Seed",
    "AIHubExposeImage": "AIHub Expose Image",
    "AIHubExposeImageInfoOnly": "AIHub Expose Image (Info Only)",
    "AIHubExposeImageBatch": "AIHub Expose Image Batch",
    "AIHubExposeScheduler": "AIHub Expose Scheduler",
    "AIHubExposeExtendableScheduler": "AIHub Expose Extendable Scheduler",
    "AIHubExposeSampler": "AIHub Expose Sampler",
    "AIHubExposeCfg": "AIHub Expose CFG",
    "AIHubExposeSteps": "AIHub Expose Steps",
    "AIHubExposeModel": "AIHub Expose Model",
    "AIHubExposeModelSimple": "AIHub Expose Model (Simple)",
    "AIHubExposeAudio": "AIHub Expose Audio",
    "AIHubExposeVideo": "AIHub Expose Video",
    "AIHubExposeProjectAudio": "AIHub Expose Project Audio",
    "AIHubExposeProjectVideo": "AIHub Expose Project Video",
    "AIHubExposeProjectImage": "AIHub Expose Project Image",
    "AIHubExposeProjectText": "AIHub Expose Project Text",
    "AIHubExposeProjectImageBatch": "AIHub Expose Project Image Batch",
    "AIHubExposeProjectLatent": "AIHub Expose Project Latent",

    "AIHubExposeProjectConfigInteger": "AIHub Expose Project Config Integer",
    "AIHubExposeProjectConfigFloat": "AIHub Expose Project Config Float",
    "AIHubExposeProjectConfigBoolean": "AIHub Expose Project Config Boolean",
    "AIHubExposeProjectConfigString": "AIHub Expose Project Config String",

    "AIHubActionNewImage": "AIHub Action New Image",
    "AIHubActionNewLayer": "AIHub Action New Layer",
    "AIHubActionNewLatent": "AIHub Action New Latent",
    "AIHubActionNewVideo": "AIHub Action New Video",
    "AIHubActionNewText": "AIHub Action New Text",
    "AIHubActionNewVideoSegment": "AIHub Action New Video Segment",
    "AIHubActionNewAudio": "AIHub Action New Audio",
    "AIHubActionNewAudioSegment": "AIHub Action New Audio Segment",
    "AIHubActionNewImageBatch": "AIHub Action New Image Batch",

    "AIHubActionSetProjectConfigInteger": "AIHub Action Set Project Config Integer",
    "AIHubActionSetProjectConfigFloat": "AIHub Action Set Project Config Float",
    "AIHubActionSetProjectConfigBoolean": "AIHub Action Set Project Config Boolean",
    "AIHubActionSetProjectConfigString": "AIHub Action Set Project Config String",

    "AIHubUtilsCropMergedImageToLayerSize": "AIHub Utils Crop Merged Image To Layer Size",
    "AIHubUtilsFitLayerToMergedImage": "AIHub Utils Fit Layer To Merged Image",
    "AIHubUtilsFloatToInt": "AIHub Utils Float To Int",
    "AIHubUtilsStrToFloat": "AIHub Utils Str To Float",
    "AIHubUtilsLoadVAE": "AIHub Utils Load VAE",
    "AIHubUtilsLoadLora": "AIHub Utils Load Lora",
    "AIHubUtilsLoadModel": "AIHub Utils Load Model",
    "AIHubUtilsLoadCLIP": "AIHub Utils Load CLIP",
    "AIHubUtilsStrToVector": "AIHub Utils Str To Vector",
}

__all__ = [
    "NODE_CLASS_MAPPINGS",
    "NODE_DISPLAY_NAME_MAPPINGS",
]